<?php

use Cekurte\App,
	Cekurte\Controller\Action,
	Cekurte\Auth;

class UserController extends Action
{
	public function setup()
	{
		$this->layout->setLayout('login');
	}
	
	public function loginAction()
    {
    	$this->form = App::getForm('UserLogin');
    	
    	if( $this->getRequest()->isPost() ) 
        {
            $data 	= $this->getRequest()->getPost();
           
            if( $this->form->isValid($data) )
            {
            	// --------------------------------------------------------
				// Pega o usuario e a senha enviados pelo formulário de login
				
		    	$username 		= $data['username'];
				$password		= $data['password'];  
				
            	// --------------------------------------------------------
				// Armazena uma instância de Zend_Auth
				
				$auth           = \Zend_Auth::getInstance();
				
				// --------------------------------------------------------
				// Realiza a autenticação
				
				$authAdapter    = new Auth($username, $password);
				$result    		= $auth->authenticate( $authAdapter );
		        
				// --------------------------------------------------------
				// Adiciona as mensagens vindas do método de autenticação
				
            	foreach( $result->getMessages() as $key => $message )
				{
					$this->flashMessenger->addMessage( $message );
				}
				
				// --------------------------------------------------------
				// Verifica se existe alguma identidade, se existir, redireciona
				// o usuário para a ação "index" do controlador "index"
				
				if( $auth->hasIdentity() )
				{
					$this->redirector->gotoSimple( 'index', 'index' );
				}
            }
        }
        
        $this->view->form = $this->form;
    }
    
	public function logoutAction()
    {
    	$auth = \Zend_Auth::getInstance();
    	
    	$auth->clearIdentity();
    	
    	$this->redirector->gotoRoute( array(), 'login' );
    }
}